// 页面白名单，不受拦截
const whiteList = [
	'/pages/tabbar/home',
	'/pages/tabbar/my',
]
function hasPermission (url) {
	let token= uni.getStorageSync('TOKEN');//token是登录成功后在本地存储登录标识，存储一个能够判断用户登录的唯一标识就行
    // 在白名单中或有登录判断条件可以直接跳转
    if(whiteList.indexOf(url) !== -1 || token || url == '/') {
        return true
    }
    return false
}
uni.addInterceptor('navigateTo', {
    // 页面跳转前进行拦截, invoke根据返回值进行判断是否继续执行跳转
    invoke (e) {
		let str = e.url
		if(str.indexOf('?') !== -1) {
			let index = str.indexOf('?')
			str = str.substring(0, index)
		}
        if(!hasPermission(str)){
            uni.showModal({
            	title:'温馨提示',
            	content: '请先登录，体验功能',
            	success(res) {
            		if(res.confirm){
            			uni.reLaunch({
            			    url: '/pages/start/login'
            			})
            		}
            		if(res.cancel) {
            			uni.showToast({
            				icon:'none',
            				title:'取消登录操作'
            			})
            		}
            	}
            })
            return false
        }
        // return true
    },
    success (e) {
		
    }
})
 
uni.addInterceptor('switchTab', {
    // tabbar页面跳转前进行拦截
    invoke (e) {
        if(!hasPermission(e.url)){
			uni.showModal({
				title:'温馨提示',
				content: '请先登录，体验功能',
				success(res) {
					if(res.confirm){
						uni.reLaunch({
						    url: '/pages/start/login'
						})
					}
					if(res.cancel) {
						uni.showToast({
							icon:'none',
							title:'取消登录操作'
						})
					}
				}
			})
            return false
        }
        // return true
    },
    success (e) {
		
    }
})